package ui.arena;

import org.uqbar.arena.actions.MessageSend;
//import org.uqbar.arena.bindings.Transformer;
//import org.uqbar.arena.bindings.Transformer;
import org.uqbar.arena.layout.HorizontalLayout;
import org.uqbar.arena.layout.VerticalLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.windows.MainWindow;

import usuarios.Usuario;

/**
 * 
 * 
 * IMPORTANTE: Correr esta clase con el siguiente argumento a la VM
 * -Djava.system.class.loader=org.uqbar.arena.aop.ArenaClassLoader
 * 
 */
public class MenuWindow extends MainWindow<Menu> {

	public MenuWindow() {
		super(new Menu());
	}
	
	public static void main(String[] args) {
		new MenuWindow().startApplication();
	}
	

	@Override
	public void createContents(Panel mainPanel) {
		
        this.setTitle(TituloVentanas.getInstance().getTituloVentana());
		
		mainPanel.setLayout(new VerticalLayout());

		//"Hola {usuario}"
		new Label(mainPanel)
		.bindValueToProperty("usuario")
		.setTransformer(new UsuarioToMensajeBienvenidaStringTransformer());
		
		// ¿Qué desea hacer?
		new Label(mainPanel).setText("Qué desea hacer?");

		Panel formPanel = new Panel(mainPanel);
		formPanel.setLayout(new HorizontalLayout());
		

		// Ver Compras 
		new Button(formPanel) //
		.setCaption("Ver Compras")
		.onClick(new MessageSend(this, "verCompras"));
		
		// Ver Reservas 
		new Button(formPanel) //
		.setCaption("Ver Reservas")
		.onClick(new MessageSend(this, "verReservas"));
		
		// Buscar Asientos
		new Button(formPanel) //
		.setCaption("Buscar Asientos")
		.onClick(new MessageSend(this, "buscarAsientos"));
	}
	
	
	public void verCompras() {
		
		new RegistroComprasWindow(this, Usuario.getInstance()).open();
		
	}
	
	public void verReservas() {
		
		new RegistroReservasWindow(this, Usuario.getInstance()).open();
	}
	
	public void buscarAsientos() {
		
		new BusquedaWindow(this).open();
	}
	
}